package leetcode.easy;

/**
 * @author 马迪迪
 * @description: TODO
 * 1920：基于排列构建数组
 * 给你一个从 0 开始的排列 nums （下标也从0开始）。请你构建一个同样长度的数组 ans，其中对于每个 i （0<= i <= nums.length），都满足 abs[i] = nums[nums[i]]。返回构建好的数组 ans。
 * 从 0 开始的排列 nums 是一个由 0 到 nums.length -1 （ 0 和 nums.length - 1 也包含在内的不同整数组成的数组)
 * <p>
 * 示例1:
 * 输入：nums = [0,2,1,5,3,4]
 * 输出：[0,1,2,4,5,3]
 * 解释：数组 ans 构架如下：
 * ans = [nums[nums[0]] , nums[nums[1]] , nums[nums[2]] , nums[nums[3]] , nums[nums[4]] , nums[nums[5]]
 * [nums[0] , nums[2] , nums[1] , nums[5] , nums[3] , nums[4]]
 * [0,1,2,4,5,3]
 * @data 2025年05月06日23时05分
 */
public class 基于排列构建数组 {

    public static void main(String[] args) {
        int[] nums = {0,2,1,5,3,4};
        int[] buildArray = buildArray(nums);
        for (int i = 0; i < buildArray.length; i++) {
            System.out.println(buildArray[i]);
        }
    }

    private static int[] buildArray(int[] nums) {
        int[] ans = new int[nums.length];
        for (int i = 0; i < nums.length; i++) {
            ans[i] = nums[nums[i]];
        }
        return ans;
    }


}
